package com.gams.device.print;

import com.tx.Const;
import com.tx.Printer;

public class PrintUtilBack {

    public static void print() {
        final Printer ptr = new Printer();
        if (ptr.open(Const.TX_TYPE_USB, 0)) {
            ptr.setupSerial(Const.TX_SER_BAUD38400 | Const.TX_SER_DATA_8BITS
                    | Const.TX_SER_PARITY_NONE | Const.TX_SER_STOP_1BITS | Const.TX_SER_FLOW_HARD);
            System.out.println("open printer success");
            int a = ptr.getStatus();
            System.out.println(String.format("status=%X\n", a));
            ptr.init();
            ptr.doFunction(Const.TX_FONT_SIZE, Const.TX_SIZE_2X, Const.TX_SIZE_2X);
            ptr.doFunction(Const.TX_CHINESE_MODE, Const.TX_ON, 0);
            ptr.doFunction(Const.TX_UNIT_TYPE, Const.TX_UNIT_MM, 0);
            ptr.doFunction(Const.TX_HOR_POS, 7, 0);
            ptr.outputStringLn("深圳市宝安区政务中心");

            //空白
            ptr.doFunction(Const.TX_FEED, 5, 0);

            ptr.doFunction(Const.TX_HOR_POS, 22, 0);
            ptr.doFunction(Const.TX_QR_DOTSIZE, 7, 0);
            ptr.doFunction(Const.TX_QR_ERRLEVEL, Const.TX_QR_ERRLEVEL_M, 0);
            String url = "https://zysx.quickiface.com/gams-api/doc.html?id=81234324";
            ptr.printQRcode(url);

            //空白
            ptr.doFunction(Const.TX_FEED, 3, 0);

            ptr.resetFont();
            ptr.doFunction(Const.TX_FONT_SIZE, Const.TX_SIZE_1X, Const.TX_SIZE_1X);
            ptr.doFunction(Const.TX_HOR_POS, 22, 0);
            ptr.outputStringLn("430922********423X");
            //空白
            ptr.doFunction(Const.TX_FEED, 3, 0);

            ptr.resetFont();
            ptr.doFunction(Const.TX_FONT_SIZE, Const.TX_SIZE_2X, Const.TX_SIZE_2X);
            ptr.doFunction(Const.TX_HOR_POS, 12, 0);
            ptr.outputString("综合服务 - ");

            ptr.resetFont();
            ptr.doFunction(Const.TX_FONT_SIZE, Const.TX_SIZE_3X, Const.TX_SIZE_3X);
            ptr.doFunction(Const.TX_SEL_FONT, Const.TX_FONT_B, 0);
            ptr.doFunction(Const.TX_FONT_ULINE, Const.TX_OFF, 0);
            ptr.doFunction(Const.TX_FONT_BOLD, Const.TX_ON, 0);
            ptr.doFunction(Const.TX_HOR_POS, 42, 0);
            ptr.outputStringLn("A0005");


            //空白
            ptr.doFunction(Const.TX_FEED, 5, 0);
            ptr.resetFont();
            ptr.doFunction(Const.TX_FONT_SIZE, Const.TX_SIZE_1X, Const.TX_SIZE_1X);
            ptr.doFunction(Const.TX_HOR_POS, 15, 0);
            ptr.outputString("您的前面还有");
            ptr.doFunction(Const.TX_FONT_SIZE, Const.TX_SIZE_1X, Const.TX_SIZE_1X);
            ptr.doFunction(Const.TX_HOR_POS, 37, 0);
            ptr.doFunction(Const.TX_FONT_BOLD, Const.TX_ON, 0);
            ptr.outputString("2");
            ptr.doFunction(Const.TX_FONT_SIZE, Const.TX_SIZE_1X, Const.TX_SIZE_1X);
            ptr.doFunction(Const.TX_HOR_POS, 40, 0);
            ptr.outputString("位正在等候");

            //空白
            ptr.doFunction(Const.TX_FEED, 10, 0);

            ptr.resetFont();
            ptr.doFunction(Const.TX_CHINESE_MODE, Const.TX_ON, 0);
            ptr.doFunction(Const.TX_FONT_SIZE, Const.TX_SIZE_1X, Const.TX_SIZE_1X);
            ptr.doFunction(Const.TX_HOR_POS, 10, 0);
            ptr.doFunction(Const.TX_FONT_BOLD, Const.TX_ON, 0);
            ptr.outputStringLn("*温馨提示：");

            ptr.resetFont();
            ptr.doFunction(Const.TX_CHINESE_MODE, Const.TX_ON, 0);
            ptr.doFunction(Const.TX_FONT_SIZE, Const.TX_SIZE_1X, Const.TX_SIZE_1X);
            ptr.doFunction(Const.TX_HOR_POS, 10, 0);
            ptr.outputString("取号后请在大厅等候区域休息等候，因大厅实行无语音叫号，请注意显示屏提示，过号请重新取号，谢谢！");

            ptr.doFunction(Const.TX_FEED, 10, 0);

            //条码
//            ptr.doFunction(Const.TX_BARCODE_HEIGHT, 15, 0);
//            ptr.printBarcode(Const.TX_BAR_UPCA, "12345678901");


            ptr.doFunction(Const.TX_UNIT_TYPE, Const.TX_UNIT_PIXEL, 0);
            ptr.doFunction(Const.TX_FEED, 140, 0);
            ptr.doFunction(Const.TX_CUT, Const.TX_CUT_FULL, 0);
//            ptr.doFunction(Const.TX_BM_START,10,0);
//            ptr.doFunction(Const.TX_BM_TEAR,10,0);
            ptr.close();
        }
    }
}
